DC: A Deterministic, Deadlock-free Concurrent Programming Model
نویسنده
چکیده
The advent of multicore processors has made concurrent programming models mandatory. However, most concurrent programming models come with a repertoire of problems. The two major ones are non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the interleaving caused by the schedule and depends only on the input behavior. A few concurrent models provide deterministic behavior by providing constructs like barriers and locks that impose additional synchronization, but the incorrect usage of these constructs leads to problems like deadlocks. In this paper, we propose DC, a new programming model that guarantees the two desirable properties of concurrency determinism and deadlock-freedom. Any program in this model will be deterministic; the output of the program will solely depend on the input and not on the interleaving of the tasks in the program. Additionally, the model cannot introduce deadlocks. We prove the correctness of our model and evaluate it with a set of examples. Keywords-Determinism, Deadlock-Freedom
منابع مشابه
D2C: Deterministic, Deadlock-free Concurrency
The advent of multicore processors has made concurrent programming languages mandatory. However, most concurrent programming models come with two major pitfalls: non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the scheduling choices (e.g., the operating system) and depends only on the input behavior. A few concurrent programming models...
متن کاملVeriSHIM A BDD Verifier for SHIM
Concurrent programming languages have become more popular with the advent of multi-core systems. Shared memory is read or written atomically, by concurrent processes to prevent races. A typical mechanism is the use of locks. However, if locks are not acquired and released in the correct order, the result is a deadlock. In this paper, we propose a deadlock detection tool for a deterministic, con...
متن کاملTwo Way Concurrent Buffer System without Deadlock in Various Time Models Using Timed Automata
Two way buffer system is a system that exhibits transfer of data using two buffers concurrently. It includes processes that synchronize to exchange data with each other along with executing certain delays between these synchronizations. In existing Tiny Two Way Buffer System, both generators produce packets in half duplex manner in no time, deterministic time, and non deterministic time. Analys...
متن کاملA Design Strategy for Deadlock-Free Concurrent Systems
When building concurrent systems, it would be useful to have a collection of reusable processes to perform standard tasks. However, without knowing certain details of the inner workings of these components, one can never be sure that they will not cause deadlock when connected to some particular network. Here we describe a hierarchical method for designing complex networks of communicating proc...
متن کاملA Core Model for Choreographic Programming
We investigate the foundations of Choreographic Programming, a paradigm for writing concurrent programs that are deadlock free by construction, guided by the notion of computation. We start by introducing Minimal Choreographies (MC), a language that includes only the essential primitives of the paradigm. MC is minimal wrt Turing completeness: it implements all computable functions, and restrict...
متن کامل